home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
arcers
/
zpro225.zip
/
ZIPRPRO.1
/
ZIPRPRO.REV
< prev
Wrap
Text File
|
1995-07-22
|
64KB
|
1,427 lines
ZIP'R Professional For DOS Revision History
07-22-95 ■ Version 2.25
. Fixed a problem where the calculation to determine free space
on the computer user's hard drive was not working properly.
The value being returned was not declared as a "var" parameter.
This could cause users to see an error message that there was
insufficient disk space available on their hard drive. An error
message would have been displayed, indicating that they needed
an extreme amount of hard drive space (usually 37.5 megabytes)
to properly decompress a file. Users with large amounts of free
space on their hard drive were not likely to see this problem.
. Fixed a minor, obscure problem where the Update routine was
called when using Internal ZIP with Update option during the
first time that a compressed file archive was created. This
was not a problem, and did not affect the compressed file, but
it did waste a small amount of time the first time that an
archive file was created.
. Clarified an error message that was displayed when attempting
to execute ARJ.EXE, LHA.EXE, PKZIP.EXE, or PKUNZIP.EXE, and the
selected compression program could not be found. The error
message now instructs users to modify the corresponding path
on the Compression Paths screen.
. Non-Revision Note: Verified that ZIP'R Pro For DOS cannot trap
exit codes from DOS programs executed under Windows, unless the
"Use Command Processor" setting is turned off.
. Expanded on an error message "Could not calculate the hard
drive space required to successfully decompress this program..."
to inform the user that this could be due to a corrupt
compressed file.
. Changed the behavior of ZIP'R Pro when reporting a PKUNZIP
error #1 or #11 (or ARJ error #2). Previously, if this error
was issued, the first message box would pop-up, asking the user
whether or not he wanted to continue program execution. After
this error message was displayed, a second error message would
pop-up, reporting the error a second time. Now, if the first
message box pops up, the second one is not displayed.
. Fixed a minor display issue where text was being truncated
on a message box that was issued after PKUNZIP reported an
error #1 or #11 (or after ARJ issued an error #2). The text
stated "Do you want to continue pro" (and was cut off),
instead of stating "Do you want to continue program execution
now?".
. Added "Exec Process" and "Child Process" to the message boxes
that report error levels and exit codes after attempting to
execute the program, IN commands, or OUT commands. This will
allow STSI to better track any potential errors reported by
customers.
. Fixed a problem where corruption would appear in a message box
after executing a program if the program generated an exit
code.
. Added an extra check to make sure that users cannot compress their
\WINDOWS or \WINDOWS\SYSTEM sub-directories when launching and
recompressing a program.
05-24-95 ■ Version 2.24
. Fixed a problem in ZIP'R Pro where attempting to execute
multiple instances of the same program (on a network or under
a multitasker) could cause an intermittent problem where
the first instance would not wait for the second instance
to close before attempting to compress the selected program.
05-23-95 ■ Version 2.23
. Fixed a obscure problem where an archive created with
PKZIP and recreated/updated using Internal ZIP would delete
some and/or all files from the compressed file and report the
error message "Error Compressing ZIP File. No Matching Files in
Protocol Transmit". This problem would occur only if the
program files were stored in a sub-directory (ie, an alternate
program parent directory was specified), and the compressed
file was located in a directory other than the program's main
directory.
05-22-95 ■ Version 2.22
. Completed initial rewrite of ZIP'R Pro. New code is better
organized and much easier to understand, allowing us to find
and fix problems faster, and potentially add new features in
future releases. Code rewrite saved approximately 20K in the
.EXE size and another 21K in the .OVR size.
. Isolated a potential problem with Internal ZIP compression
(introduced as a result of the previous 2 fixes) where the
compression routines would attempt to compress the ZIP file
as it was being created. Added a routine to cycle through
all files in the compression list to make sure that the
ZIP file is not included in the final compression mask list.
. Fixed a problem with Internal ZIP compression where the New
File List (used for Update mode) was not being created correctly
when the compressed file was located in a directory other than
the program's main directory. This could result in an error
message "Error Compressing ZIP File. No Matching Files in
Protocol Transmit", and the ZIP file would not be updated
properly.
. Fixed a problem with Internal ZIP compression where the wrong
files would be included in the ZIP file if the compressed file
was located in a directory other than the program's main
directory. (This could have caused data loss, due to the fact
that the program files had been deleted, even though they had
not been added into the ZIP file. The deleted files could be
recovered using UNDELETE.)
. Fixed several instances where the compression signal file
would not be deleted if an error occurred creating and/or
comparing the file lists (for update mode) during the
recompression process.
. Fixed two instances where the compression and decompression
signal files would not be deleted in the event that ZIP'R Pro
could not locate the compressed file directory. ZIP'R Pro
would issue an error message and exit, without deleting the
signal file that had already been created.
. Removed several unneeded (and unused) variables from the
program.
. Changed the Selective Extraction, Selective Exclusion,
IN, OUT, TSR Pre-Program, and TSR Post-Program Commands to
a more efficient data structure, increasing available memory
for other operations.
. Changed the standard error background screen from using a
textured pattern to using a backdrop similar to the one
found in ZifPro.
. Removed the Accurate File Size Calculation, Cluster Size
Calculation, and Cluster Size variables from ZIP'R Pro. The
cluster size is now calculated automatically, and the disk
space requirements are calculated based on exact figures, as
well.
. Added internal support to read the headers out of .ARJ,
.LHA, and .ZIP files. This will allow ZIP'R Pro to perform
disk space requirement calculations internally, without
needing to shell to each of these programs. (This added
about 4K to the EXE size.)
. Started work on MAJOR coding changes and improvements in
ZIP'R Pro.
04-27-95 ■ Version 2.21
. Enhanced the appearance of the headers on the ZIP'R Pro button
menu and added support for keyboard users to use the F3 key
to edit the currently highlighted button.
. Added support for a ZIP Decompression Options variable to
be read and used from the ZPD file. This value will match the
ZIP Compression Options value, except that it will exclude the
settings for "Disable Network Detection" and "Use Slow
MemCopy", which are not applicable for PKUNZIP. This new
value will be passed to PKUNZIP on the command line.
Previously, the PKZIP/PKUNZIP troubleshooting options were
being passed to PKZIP on the command line, but not to PKUNZIP.
This will fix that problem.
. Added support for the new floppy option called "No Action",
which does not erase the files and directories from the
floppy diskette before creating a new compressed file.
(Note: This feature can be dangerous if the user does not
fully understand what is taking place. Be sure to read the
new section in the docs entitled "Compressing To Floppy Disks".)
. Fixed a problem where ZIP'R Pro was not prompting users
to enter a diskette in the disk drive before compressing
a program to a floppy diskette in instances where the Query
option was disabled. If the user did not have a diskette
in the drive an "Unknown (or Unhandled) Error" message would
be displayed. The diskette prompting screen will now be
displayed before any program is compressed to a floppy
drive.
. Created a literal string unit containing all strings that
are read from the INI and ZPD files and used variable
references instead of literal strings, reducing the chance
for typing or spelling errors.
. Reduced the memory requirements for ZIPRPRO.EXE by reducing
the code size (a couple of unnecessary units were being
linked into the code).
. Rewrote the reading routines to use some common reading
functions from our internal STSI libraries.
. Properly disposed of several string pointers that were
allocated in the errors unit.
. Added minor wording changes to the nag and query screens
to better direct users what action needs to be taken.
. Removed custom exit procedure which could intermittently
produce invalid or inaccurate error address results.
03-13-95 ■ Version 2.20
. Fixed a problem with internal ZIP compression that occurred
when the user specified a location for the Compressed File
that was different than where the program was being executed
from. (Various error messages could be noted at the end of
the compression process.) Internal ZIP was not changing to
the compressed file directory before creating the ZIP file,
causing it to be created in the wrong place. Made sure that
new code changes to the compressed file directory before
creating the compressed file, and changes back to the program
(parent) directory after the compression process is finished.
02-16-95 ■ Version 2.19
. Fixed a problem with internal compression where the error
"Could not erase the file nnn.ZIP" was being reported at
the end of the compression process on single-user systems.
This error message was generated as a result of an unsuccessful
call to the "SameFile" routine. Although the error message
was being issued, this problem should not have affected the
user's data in any way. (This error message did not appear
on network systems.)
01-26-95 ■ Version 2.18
. Enabled the use of the arrow keys to move between buttons
on the button menu.
. Fixed a minor cosmetic problem where the backdrop on the
button menu was not being redisplayed after the first time
a .ZPD file is created.
. Made a minor cosmetic change to the ZIP'R Pro button menu
by changing the slant direction of the text in back of
the button menu.
11-24-94 ■ Version 2.17
. Fixed a major problem where using Internal ZIP compression
to decompress a file would cause an error "Error opening
ZIP file. File access denied". The compressed file is
marked read-only at various times by ZIP'R Pro as a
precautionary measure, to prevent against accidental deletion,
either by ZIP'R Pro or any other source. In this instance,
the compressed file was marked as read-only, but was not
returned to normal attributes before an attempt was made to
decompress it. (This was due to a missing semi-colon after
a statement that needed to be terminated.) This problem only
manifested itself on a true-blue Windows system, not on an
OS/2 Windows system (WIN-OS2 session). (Since STSI's main
beta-testing platform is OS/2, this problem was not detected
until recently.)
. Fixed an obscure problem where the file closing routine
for redirected files was not working properly when used
under Windows NT. Old routine called Interrupt 21, with
AH=$3E. New routine uses Pascal's internal Close command.
This would produce an error "Unable to create StringArray,
Status = 5" when calculating the disk space requirements
for a compressed file (only when the Accurate File Size
Calculation was set to level 3 or level 4).
11-16-94 ■ Version 2.16
. Fixed a significant problem where the screen would be filled
with garbage characters immediately after trying to execute
ZIP'R Pro. This behavior occurred if the Video Display was
set to Direct screen writes or Auto Detect with an EGA or
VGA monitor (and only if the prelog screen was supposed to
be displayed). The direct screen writing was being done from
an overlaid unit, which called an assembly language OBJ file,
thus causing corruption on the screen. This screen writing
procedure has been moved into a non-overlaid unit. (This
problem was introduced in version 2.15, when overlays were
added.)
11-13-94 ■ Version 2.15
. Overlaid ZIPRPRO.EXE to reduce the memory requirements needed
to perform operations, especially internal ZIP compression
and decompression. Previously, users with memory limited
systems (less than 512K free before ZIP'R Pro was launched)
who chose to use internal ZIP compression would experience
an error #8 (insufficient memory) when compressing programs.
Now, users with as little as 465K free (before ZIP'R Pro is
launched) can use internal ZIP compression.
IMPORTANT: Although ZIP'R Pro only requires 465K of free
conventional memory, you must have at least enough conventional
memory to execute the program that is being launched through
ZIP'R Pro. For example, if your program requires 540K of free
conventional memory, you must have at least 550K of free memory
before launching ZIP'R Pro. (ZIP'R Pro's overhead, along with
the secondary command processor consume about 10K of memory.)
On the other hand, if your program only requires 400K of free
conventional memory, you must have at least 465K of free memory,
since this is the amount required by ZIP'R Pro, in order to
operate properly.
. Stopped using the ERRORS.OPL library file. Moved all error
messages back into the main EXE file to reduce the chance for
loss, corruption, or errors in this file.
. Converted the error numbers given when using internal ZIP
compression into descriptive error messages.
10-28-94 ■ Version 2.14
. Fixed a problem where one of ZIP'R Pro's error messages was
being truncated on the error message display screen.
. Fixed a problem where the amount of memory being used when
ZIP'R Pro swapped itself out was much greater than it should
have been. (OpExec was being referenced in more than 1 unit.)
Symptoms of this problem would be programs reporting "Out
of memory" errors when they were run through ZIP'R Pro.
As an example, one of our systems reported the following
figures:
Old New
v2.13 v2.14
Free Conventional Memory 627,840 627,840
After launching a program 568,640 617,136
ZIP'R Pro's overhead 53,520 5,024
10-19-94 ■ Version 2.13
. Modified code and documentation to comply with ASP
standards. STSI is now an author member of the Association
of Shareware Professionals!
09-09-94 ■ Version 2.12
. Added a command to make sure that the screen is cleared
after a RunTime error occurs.
. Modified delays / nag screen code to comply with ASP
standards. The prelog pause and delay are now entirely
optional, even in the unregistered version. However, the
unregistered version will now display a registration
reminder screen when entering or exiting from ZIP'R Pro.
08-29-94 ■ Version 2.11
. Moved about 225 error messages into a library (stream)
file, reducing the code size by about 15K. Made sure
that ZIP'R Pro issues an appropriate error message if
the library file can't be located when an error condition
occurs.
. Corrected a potential problem where the decompression
signal file was not being deleted at the end of the
decompression routine when using PKZIP. The code was
accurate when using ARJ, LHA, or Internal ZIP, but PKZIP
code for this procedure was not included.
. Corrected a potential problem where the attributes of the
compressed file were being set to read-only before attempting
to decompress it using ARJ, LHA, or PKUNZIP. Made sure that
the attributes are set to Normal before decompressing it.
. Streamlined the compression and decompression code by
combining the common parts of these processes for ARJ, LHA,
Internal ZIP and PKZIP.
08-22-94 ■ Version 2.10
. Added code to make sure that ZIP'R Pro does not attempt
to display the button menu if no .ZPD files could be
found in the \ZIPRPRO sub-directory.
. Added a command to reset the window coordintes after a
user selects a button from the button menu to make sure
that the DisplayPrelogValues routines write information
to accurate locations. (This routine uses absolute screen
writing, requiring that the window be set to 1,1,80,25.)
. Created two new routines to set the file attributes for
files to read-only and normal, and replaced numerous
instances in the code where the file was being manually
reset to specific attributes.
. Corrected a potential problem where file attributes could
have been set on a non-existent compressed file.
. Added support for the new button style menu to re-read the
directory after returning from executing the ZIF Editor.
In the event that files are created or deleted from the
ZIP'R Pro directory, ZIP'R Pro will regenerate the dialog
box to display an accurate collection of buttons.
. Added a button style interface to ZIP'R Pro to make it more
user friendly. When "ZIPRPRO.EXE" is executed without any
passed parameters, the new menu interface will pop up and
display a list of all available .ZPD files. Users can click
the left mouse button over a push button to execute the
corresponding program, or they can click the right mouse
button over a push button to invoke the ZIF Editor and edit
the corresponding file.
08-16-94 ■ Version 2.03
. Fixed a major problem when using internal ZIP compression.
When attempting to recompress a program using the Update
option, users would receive an Error Number 5, (File Access
Denied). The compressed file had been marked as read-only, and
therefore could not be initialized for any other action. This
error condition did not appear when using a Novell network, so
internal beta-testing efforts did not catch the problem. Added
code to make sure the compressed file's attributes were properly
set before any action to the file is attempted.
. Updated the version number code in the registration
procedure.
. Fixed several Clear-Screen problems by replacing the
built-in Clear-Screen command with a custom routine
that resets the Window to 1,1, 80,25.
07-18-94 ■ Version 2.02
. Enhanced ZIP'R Pro's ability to handle "overwrite" error
messages generated by PKUNZIP.EXE or ARJ.EXE. When either
of these programs detects a file on the hard drive that
already exists in the compressed file, they will issue an
overwrite message, prompting the user whether or not the
file should be replaced with the one located in the
compressed file. Each of these programs will then generate
an exit code, which normally causes ZIP'R Pro to cease the
program execution and terminate. Since these errors are
non-fatal errors, ZIP'R Pro now offers users the choice of
whether to continue with normal program execution or not.
Why is this necessary? The most common need for this feature
is when programs such as Central Point Anti-Virus or Microsoft
Anti-Virus place "CHKLIST.CPS" or "CHKLIST.MS" files in each
directory when a virus scan is executed on a user's computer.
The first time this happens, the compressor (PKZIP, for example)
adds the left-over virus file into the archive. The next time
a virus scan is executed, PKUNZIP detects that a file by the
same name exists in the program directory, generates an exit
code, and thus causes ZIP'R Pro to terminate execution. (This
could prove to be frustrating, since a file by this name is
placed in EVERY scanned directory.) ZIP'R Pro will now detect
if an overwrite message occurs, and will display a message
box, allowing the user the option of whether to continue
with the normal program execution or not.
. Fixed a problem where ZIP'R Pro was not trapping and
reporting errors that occurred during the decompression
process. Instead, ZIP'R Pro would simply error out, and
terminate program execution. (This bug was introduced
in version 2.00.)
07-11-94 ■ Version 2.01
. Version 2.01 of ZIP'R Pro contains an updated INSTALL.EXE
file. One of our users reported that InocuLAN (by Cheyenne
Software) was reporting an occurrence of the Tony-H virus in
the INSTALL.EXE file. We believe this was a false-positive
report, and not cause for alarm. However, we are releasing
ZIP'R Pro 2.01 with the INSTALL.EXE file in uncompressed
format. Also, the file BONUS.DOC has been removed.
06-29-94 ■ Version 2.00
. Added support for a user-specified compression mode.
Valid values are BestMethod, Deflate, Implode, Shrink,
and Store.
. Added support for a user-specified deflate level when
using internal ZIP compression.
. Added support for user-specified implode values when using
internal ZIP compression.
. Converted the ClrScr w/Error Message calls to use the
HandleError procedure.
. Changed the ProcessErrorCode procedure to a function.
. Modified the HandleError procedure to allow it to process
error codes that must be passed to the ShowErrorMessage
procedure.
. Changed the DeletedFiles variable in the COMP unit from a
literal string to a boolean.
. Changed the MatchingFileFound variable in the COMP unit from
a literal string to a boolean.
. Added code to only display the gauge window when necessary and
resize the compression window depending on whether the gauge
window is displayed or not.
. Changed gauge window display to be indented rather than out-
dented.
. Added a fail-safe check to the DeleteAllFilesExcept routine
to make sure that the current directory is not the root
directory of a hard drive.
. Added a fail-safe check to make sure that the Accurate File
Size Calculation displays Level 4 on the prelog screen when
Internal ZIP is being used. (With Internal ZIP, all calculations
are 100% accurate.)
. Changed the directory existence checks to use a procedure from
a commercial library, instead of our own STSI library. Our
procedure was not handling root directories properly.
. Added code to read the current entry when decompressing a .ZIP
file with the Internal ZIP code. New code makes sure that any
imbedded directories are created if they do not exist. Any
directory entries contained without files are discarded. This
allows more complete compatibility with PKWare's PKZIP. Previous
code would cause a decompression error to occur.
. Moved all of the DrawHeader and DrawCompressionScreen calls inside
of the ZPExec routine, where possible. This fixed a problem where
incorrect messages were sometimes displayed during the compression
or decompression processes.
. Fixed several issues relating to the display of the decompression
query box that pops up when a duplicate file exists on the hard
drive. Widened the available display for the filename and
potential directory entry, and added fail-safe code to truncate
these on the left side if they get too long.
. Modified the remaining routines in the COMP, DECOMP, and
EXECUTE units to use the HandleError procedure.
. Created a common procedure in the COMP unit to contain the
compression signal file related detection and creation
code.
06-20-94 ■ Version 1.28 (Internal BETA Version - Not Released!)
. Fixed a problem where the screen was not being cleared after
windowed decompression. Added a reset of the screen and
color output.
. Modified shadows on compression and decompression screens
to be completely black.
. Added a command to reset the Window coordinates before
attempting to write the file count or twirling bars display
to the screen. After adding several window-relative routines,
both displays were being written to a relative window, instead
of the absolute screen coordinates.
. Fixed a problem where the title and copyright notice on the
Query screen started "disappearing" after other Internal
ZIP windowing routines had been implemented. Used window-
relative screen writing instead of absolute screen writing.
. Created a textured background screen for the Internal ZIP
compression and decompression windows.
. Added a "Moving files. Please wait!" header to the display
screen when files are being deleted after the compression
process.
. Added a call to the UpdateGaugeWindow procedure during the
file deletion process to provide a visual progress indicator.
. Altered the DeleteAllFilesExcept procedure to use a direct
directory search to delete files, instead of a FileMaskList
generated from the original archive file. This allows the
procedure to work in all situations.
. Changed the name of the stDeleteFilesIntZIP procedure to
DeleteAllFilesExcept.
. Created a header window to be used for displaying status
messages during the compression / decompression processes.
This replaces old code which simple used absolute screen
writing.
. Added a bar graph and compression/decompression window
to be used when Internal ZIP is used as the compression
type for a program. The bar graph is updated depending on
the current file vs. the total files to be compressed or
the total files located inside the ZIP file.
. Created a common HandleError procedure in the Errors unit
to centralize the compression/decompression error handling.
. Created a common LaunchExternalDecompressor procedure in the
Decomp unit, reducing final .EXE code size by about 2K.
. Worked around a problem where an empty sub-directory would
cause an error #2 during the compression process (File Not
Found).
. Set up a file counter to keep track of the total number
of files that will be compressed into the internal ZIP
generated file.
. Enabled sub-directory creation during internal ZIP
decompression.
. Added code to recurse sub-directories during the internal
ZIP compression process.
. Made sure that the compression and decompression signal
files are erased if an error occurs during internal ZIP
compression or decompression.
. Added code to call the Done routine if an error occurs
during the internal ZIP compression / decompression
processes.
. Created a routine to calculate the exact disk space
needed for extracting a ZIP file when using the
internal ZIP compression / decompression routines.
. Added preliminary support for internal PKZIP 2.0
compatible compression and decompression.
06-10-94 ■ Version 1.27
. No coding changes.
05-26-94 ■ Version 1.26
. Changed the AddBackSlash procedure to stAddBackSlash
when generating the ZIPRProPath. stAddBackSlash adds
a backslash when the last character in the path is a
colon.
. Modified the behavior of the prelog screen display
to prevent the screen from being displayed if the
PrelogDelay was set to 0.
. Fixed a problem where the prelog screen was being
displayed when the PrelogType was set to NONE.
. Changed all "Halt" statements to "stHalt(?)", where
? is the ERRORLEVEL.
. Changed an error message in the DECOMP unit to use
an stTVMessageBox.
04-22-94 ■ Version 1.25
. No modifications. (See ZIFPRO.REV for modifications
to the ZIF Editor Pro.
03-26-94 ■ Version 1.24
. Removed all /CLEANUP option code from ZIPRPRO. This
option is now available from the ZIF Editor. A code
size reduction of about 11K was achieved.
. Modified code so that ZIP'R Pro does not execute the
program when the /TEST parameter is being used. It
simply displays the parameters and exits.
. Changed the "TEST" parameter to "/TEST".
. Fixed a problem where the compression signal file
was not being deleted if an error occured while
attempting to test the archive integrity.
. Fixed a problem where an error message was not being
issued if a compression or decompression signal file was
detected. ZIPRPRO would simply exit, with no warning.
. Created enumerated types for PrelogType and
RegisteredVersion, replacing the literal strings used
previously.
. Re-worked the INI and ZIF test display procedures to
use string arrays. This change reduced the code
size slightly, and substantially reduced the complexity
of these procedures.
. Converted the ScanActivityIndicator string variable
to an enumerated type. Corrected a problem where a
mis-spelling of a literal string could have caused
the Twirling Bars to fail to work.
. Added a common function to search for ARJ, LHA,
PKZIP, and PKUNZIP in their respective paths, the
ZIP'R Pro path, and the DOS PATH before calling
any of these programs. The common function reduced
the code size by .5K.
. Modified code to check for the existence of a backslash
at the end of the ARJ, LHA, and ZIP paths after they
are read from the .INI file. If a trailing backslash
is not detected, one is added.
03-10-94 ■ Version 1.23
. Modified an error message about the program parent
directory not being present to be more accurate by
stating that either the program parent directory or
the main program directory is not present.
. Converted the FloppyFormat variable to an enumerated
type within the code for easier variable-checking.
. Added a ZPExec procedure that contains all compression
and decompression related Exec functions. (Code size
reduction of 6.5K.)
. Moved several boolean variables into the INI and ZIF
records, to make the code more concise.
. Changed the default value for SubdirectoryDeletion to
True.
. Changed If..Else If statments in Errors unit to a Case
statement to make the code shorter and more concise.
. Moved all common string literal declarations into a new
ZPSTRING unit.
. Increased the estimated string array size for Exclude,
Extract, IN, OUT, TSRPre, and TSRPost commands.
. Converted CompressionType literal strings to an
enumerated type.
. Changed all error message strings that were passed as
variables to a global routine into an enumerated type.
This allows automatic compiler validation, and shortened
the code by over 10K.
03-03-94 ■ Version 1.22
. Added 3D effects to query and error screen dialog boxes.
. Added an IOResult check and corresponding error message
if the ProgramParent directory can not be successfully
created on a RAM Disk.
. Circumvented a potential problem in the compression and
decompression routines where a default value for the
Compression and Decompression Swap parameters was not
being set. The compression procedure would issue an
error message under this circumstance. Altered the
code to provide a fail-safe parameter assignment.
. Corrected a problem in the ARJ Decompression procedure
where the "Default" Decompression Swap parameter was
not being read.
. Added code to convert the ZIPRPROPath to upper case.
. Removed several "EraseDecompressionSignalFile"
statements from the beginning of the DecompressZipFile
procedure. This file had not yet been created at
this point in the procedure.
. Corrected a problem where the update option was not
working properly. (Broken in 1.22, not released.)
. Fixed a problem where a runtime error 202 would occur
if the file PKUNZIP.EXE could not be found. The
runtime error would be issued prior to displaying the
error message from ZIPRPRO. (Increased stack.)
. Added automatic ProgramParent directory creation if
extracting to a RAM disk.
. Added preliminary support for extraction to a RAM disk.
. Corrected a problem where an error message would be
issued if the "Program" directory did not exist. This
created a problem if a "Program Parent" directory was
specified, since the program directory might not exist
under this circumstance.
. Corrected a problem where the .N?? file was not being
deleted if errors were detected when checking the
validity of the values in the .INI and .ZIF files.
. Shortened several code segments by using better coding
techniques.
. Corrected a potential problem where the .SXT signal
file could be mistakenly deleted by ZIPRPRO.
. Combined the Done and DoneNoSXTDelete routines into a
common procedure. Added an enumerated type variable
to pass to this procedure, informing it of any
restrictions to observe.
02-26-94 ■ Version 1.21
. Corrected minor spacing / carriage return problems on
dialog box (Query) screens.
. Corrected a potential problem where the /CLEANUP option
would delete files in the current directory, not the
ZIPRPRO sub-directory, if launched from a directory
other than the ZIPRPRO sub-directory.
. Corrected a problem where a runtime error 2 would occur
in the CreateSubDirectoriesUnderOS2 procedure, because
an Else statement was omitted.
. Streamlined the code by creating two erase file routines
to replace the separate erase routines used previously.
02-16-94 ■ Version 1.20
. Fixed a major problem where the original .ZIP file
could be deleted if the executable file could not be
found and update option was enabled. (Data loss could
occur in this situation, especially if Selective
Extraction or Selective Exclusion was enabled.)
. Added support to erase the *.DFL, *.NFL, *.OFL, and
*.DIR files when using the /Cleanup option.
. Added support to manually create subdirectories when
operating under OS/2. This option will circumvent a
potential problem where PKUNZIP cannot create sub-
directories under OS/2. (This problem has been reported
to PKWare.)
. Updated IFDEF and IFNDEF statements throughout the code
to minimize code size for each module.
. Moved several string pointer variables into the INI and
ZIF record variables.
. Reduced the ARJ and LHA default memory requirements
to more realistic levels.
. Re-compiled with updated libraries.
. Corrected a problem in the stTV3ChoiceBox procedure
that caused the box to be too narrow to properly
center a long header.
. Added support to display the Command Processor and
ZIP'R Pro Path information in the new style message
boxes.
. Corrected a problem where the TestFlag boolean was
not being set early enough in the code to display
the INI Parameters screen. (%2 = TEST)
. Added support to display the .INI Parameters in the
new style message boxes.
. Added all missing .ZPD Parameters to the ZPD Parameter
display procedure. Added code to display the first
10 INCommands, OUTCommands, ExcludeFiles, ExtractFiles,
TSRPreProgramCommands, and TSRPostProgramCommands.
. Added support to read old style .ZPD files, prior
to current version. (Set internal flags if the new
UseINCommands, UseOUTCommands, UseTSRPreCommands,
and UseTSRPostCommands variables could not be found
in the .ZPD file.)
. Added support to display the .ZPD Parameters in the
new style message boxes.
. Fixed a problem in the stTV3ChoiceBox procedure, that
caused a system hang if the maximum number of lines
exceeded the pre-defined limit.
. Added support to read UseINCommands, UseOUTCommands,
UseTSRPreCommands, and UseTSRPostCommands variables
from the .ZPD file.
01-30-94 ■ Version 1.19a (Internal Release)
. Corrected a problem where the swap file name was not
being passed to the swapping exec procedure. (This
problem was introduced, in version 1.20, when the
common exec swapping functions were created.)
. Added support to specify whether EMS memory is to be
used over XMS memory for the swapping exec procedure.
The default behavior is to use EMS first, but may be
overridden.
. Added support to swap to XMS memory during program
execution, if available. Previously, only EMS or
disk was used for the swap file.
. Modified the swapping-related procedure calls to force
a swap (default) as a fail-safe procedure.
. Modified the WindowedCompression and WindowedDecompression
procedure calls to automatically force windowed mode
(default) as a fail-safe procedure.
. Converted all execute calls to use the new procedures.
. Removed the STSI2 unit from the uses clause to prevent
unnecessary compilation.
. Corrected a problem where the swap file (.SWF extension)
was not being erased when the /Cleanup option was
specified. (This file has the system attribute set.)
. Created common execution functions to reduce code
size and complexity.
. Corrected a potential problem where the compressed
file could have been deleted, if an incorrect value
for CompressionSwap or DecompressionSwap was read from
the .INI file.
. Converted the internal SortedExtraction variable
to a Boolean type.
. Corrected a problem where the .INI file was not
being read prior to checking the cleanup password.
. Changed the behavior of the cleanup password
procedure to not prompt for a password if the
password is blank.
. Converted internal WindowedCompression and
WindowedDecompression variables to Boolean types.
. Reduced the memory requirement default values for
PKZIP and PKUNZIP. (New default swapping option will
be added to the ZIF Editor.)
. Re-worked the .INI and .ZIF read routines to make the
code faster and more concise.
. Added support for the new INIVersion, ZIFVersion,
UseDiskForExecSwap, UseEMSForExecSwap, and
UseXMSForExecSwap parameters.
. Re-arranged the order and placement of passed parameter
related code, to allow the disposal of unnecessary
pointer variables.
. Modified dialog box code to allow centering or left
justification.
. Changed all error messages to be displayed using the
new style dialog boxes.
. Converted all query screens to the new style.
Corrected various punctuation problems in the text
of the new screens.
. Modified cleanup password field to automatically
convert characters entered to upper case.
. Corrected a problem in the swapping Exec routines
where the executed program would hang. (This problem
was caused by the mouse handler routines not being
disabled before performing the swap, and was introduced
in version 1.20.)
. Added password protection for the /Cleanup option.
. Updated prelog screen to show the amount of Heap memory
available.
01-20-94 ■ Version 1.19
. Added additional error messages for new error checking
procedures, and corrected a typo in a separate error
message.
. Enhanced the conventional memory available routine to
provide a more accurate estimate of the amount of
conventional memory available on the system. (This
figure approximates the free memory reported by MEM.)
. Corrected a problem where the logic controlling the
loading of a command processor was backwards when
executing a .BAT or .BTM file
. Added a check to force a command processor to be
loaded if the program to be executed contains a
.BAT or .BTM extension.
. Added support to execute the desired program without
loading a command processor first. This increases
the memory available to the program by about 3-5K.
. Removed unnecessary "Continue" statements from the
INI and ZIF file read routines.
. Converted internal string pointer variables to use
INI and ZIF records.
. Added support in the TSR Container file section to
use the AlternateEXELaunchDirectory feature.
. Fixed a problem where the "CALL" statement was not
being placed in front of the program name in the TSR
Container file if the Parameters field was blank.
. Corrected a potential problem where the current drive
and directory was not being set prior to executing
OUT commands. This could have been a problem if the
current drive and/or directory was changed during
program execution, such as when shelling to DOS.
. Added support for an alternate EXE launch directory
to make it possible to launch a program from a
directory other than the one in which the executable
file resides. (The program does NOT have to be an
EXE file.) This feature allows programs, such as
Microsoft Works, Borland Pascal, and others, to be
executed from a data subdirectory.
. Added preliminary support for string encryption and
decryption.
01-06-94 ■ Version 1.18
. Improved the Conventional memory estimate on the
prelog screen to more accurately reflect the amount
of memory available after swapping.
. Updated the BIOS screens to match the direct-write
screens.
. Added support for AUTO, DIRECT, and BIOS screen write
modes. This should help to solve any screen-related
compatibility problems that might exist.
. Added video mode detection when using the AUTO screen
writes option.
. Updated the prelog screen to display the status of the
Use Atomic Lock Files option.
. Updated the prelog screen to display the Selective
Extraction (SXT) and Selective Exclusion (SXC) entries
separately. (If either option is disabled, the
corresponding entry count will be 0.)
. Updated the prelog screen to display the status of the
new Subdirectory Deletion option.
. Added support to NOT delete sub-directories when using
PKZIP v2.04g. This switch is necessary when an OS/2
system is operating on a network in combination with
other systems. Due to some sort of conflict, sub-
directories can not be re-created under OS/2. (Unsure
whether this is an OS/2, NetWare Requester, or PKZIP
caused problem.) This switch can only be used with
PKZIP v2.04g.
. Added preliminary support for compression program version
number tracking. Future versions of ZIP'R Professional
may support compression program features that might not
be available in previous versions of the compression
program.
. Corrected an alignment problem on the FileCount indicator.
. Added a FileCount / Twirling Bar indicator to the AFSC
Level 4 screen to display the progress of the file size
scanning. (Due to the high scanning speed, this feature
will be useful only on compressed files with an extremely
high number of files.)
01-01-94 ■ Version 1.17
. Corrected a problem where .SXT signal files were not
being deleted when the /CLEANUP switch was used.
. Corrected a possible ambiguity in the ExecDOS error
messages. (#-5 changed to # -5.)
. Updated the AFSC routines to use integer division, which
eliminates the extra rounding step needed for reals.
. Corrected a problem in the AFSC Level 4 (ZIP) calculation
procedure that would cause erroneous calculations. (The
file size returned would always be 0.)
12-27-93 ■ Version 1.16
. Fixed a problem where an extra hyphen was being prepended
to the compression command line.
. Added CompressionOptions support to the ARJ and LHA
compression procedures. (LHA does not currently support
this feature.)
. Fixed a problem where the CompressionOptions field in the
.ZPD file was not being passed to PKZIP.
. Fixed a minor problem where ".ZIP" was hard-coded onto the
Query For Compression screen. If ARJ or LHA was being used,
the screen would still say that the resulting compressed file
would have a .ZIP extension.
. Added an additional check for PKZIP.EXE before decompressing
a .ZIP file when using Selective Extraction or Selective
Exclusion. This is important, because when these options are
enabled, the program MUST be re-compressed to preserve all
data files.
. Fixed a potential problem where the existence of PKZIP.EXE
was not being verified before deleting files from the
original .ZIP file.
. Fixed a potential problem where ZIP'R Professional was not
verifying the existence of PKUNZIP.EXE and PKZIP.EXE before
attempting to create the temporary file lists.
. Added an additional check to attempt to locate the selected
compressor on the DOS PATH. ZIP'R Professional will use the
path specified in the ZIPRPRO.INI file if the program exists.
If the program cannot be found, the ZIPRPRO directory is
searched. If this search fails, the DOS PATH is searched.
12-25-93 ■ Version 1.15
. Cleaned up some internal routines related to cleaning up
signal files before exiting ZIP'R Professional.
. Changed the .ZPD and .INI file read routines to reduce
overhead and increase speed.
12-22-93 ■ Version 1.14
. Added error reporting to the error trapping sections of
the IN Command, Program, and OUT Command routines. If an
error is detected in any of these routines, ZIP'R Pro will
report the error and query the user whether to continue.
The error reporting routines will also report whether the
error was generated by the command processor (Error Code)
or by the IN Command, OUT Command, or Program (Exit Code).
. Corrected a problem in the Accurate File Size Calculation
routines where the selective extraction and exclusion
entries were still being used, even if the file was being
decompressed from a floppy disk.
. Fixed a major problem where data loss could occur if the
compressed file was stored on a floppy diskette, and
selective extraction or selective exclusion was enabled.
This is a rather rare combination of options, but since
data loss is likely, it is prudent to upgrade previous
versions of ZIP'R Professional For DOS.
. Corrected a problem where the cursor would disappear
following some query screens.
. Added /CLEANUP option to erase all signal files from the
ZIPRPRO sub-directory. This option should be used with
care to ensure that no other processes are using ZIP'R
Professional.
12-20-93 ■ Version 1.13
. Corrected a problem where a program that is executed
using a batch file, that also used a TSR container file
would not return control to ZIP'R Professional for
re-compression. The solution was to "CALL" the batch
file from the TSR container file.
. Corrected a problem where the Decompression Signal File
might not get deleted under some error situations.
. Completed the transfer of code to common units to allow
code sharing between different components of the ZIP'R
Professional series of programs.
. Added conditional defines to allow code sharing between
ZIP'R Professional For DOS and the ZProcessor component
of ZIP'R Professional For Windows.
. Isolated a problem creating sub-directories under OS/2
to the use of "Global" network sessions. The Novell
OS/2 requestor handles directory creation differently
under global or private network sessions. ZIP'R Pro
should be used in a private session if sub-directories
must be re-created.
. Checked into a potential problem with AFSC Level 4 if
the lines were too long, and wrapped on the screen.
The function used to handle the string to long integer
conversion correctly handles this situation, and ignores
any strings that it can't convert. No action necessary.
12-05-93 ■ Version 1.12
. Added error checking to make sure that compression
cannot occur to floppy drives unless the compression
program being used is PKZIP. (Other compression
programs do not currently support spanning floppies.)
. Changed the way ZIP'R Professional deals with the
attributes of a compressed file that resides on a
floppy diskette. The attributes of these files
will not be changed, since we do not know which
diskette is in the drive, and multiple diskettes
may be required to store the compressed file.
. Fixed a problem with floppy compression where the
query for compression floppy diskette was occurring
too late. This caused programs to be compressed
to floppy diskettes properly, but they could not be
decompressed. (After further checking, the programs
could be decompressed, but the prompt for the
decompression floppy disk was in the wrong position.
A work-around was to simply make sure that the disk
was in the drive.)
. Added Compress/Decompress and TSR Entries indicators
to prelog screen. Separated Net/Multi to be two
separate indicators, and added code to detect them
individually.
. Added a program halt command following the error
message display if the ZIPRPRO.INI file cannot be
found.
. Corrected a problem where the .ZIP file was not
being deleted if Update mode and Compress/Decompress
only mode were enabled.
. Added code to force a total decompression if
"Compress/Decompress Only" is enabled. This will
prevent problems if all files are not extracted.
. Corrected a problem where the .DSF file was not
being deleted under various circumstances in the
decompression module.
. Corrected a potential problem where logging to a
non-existent program or program parent directory
was not calling the "Done" procedure.
. Removed unnecessary ZipName pointer variable, and
replaced with CompressedFileName pointer variable.
. Corrected a problem where the .DSF (Decompression
Signal File) was not being deleted if an error
occurred during the CheckSpaceForDecompression
procedure. (This problem could manifest itself
if the compressed file was corrupt.)
11-26-93 ■ Version 1.11
. Added error message if Selective Exclusion is enabled,
but no file specifications have been entered.
. Corrected problems where three delete routines were
not marking the compressed file with normal attributes,
generating a run-time error. (Code 5, File Access
Denied) This error would occur when query mode was
enabled, and the program was not re-compressed.
. Updated random filename generator code in the DECOMP
procedure to use the new method for generating
random filename prefixes.
. Added "Selective Exclusion" feature to complement
Selective Extraction. Selective Exclusion allows
certain files or groups of files to be excluded
from extraction.
. Changed the prelog screen to display the number of
Selective Extraction files (entries) and the number
of simultaneous ZIPRPRO licenses.
11-21-93 ■ Version 1.10
. Changed the logic in the prelog screen to highlight
Query Option if Selective Extraction is enabled, but
the compression type is not ZIP.
. Changed the countdown code on the prelog screen to
count to 0.
. Added code to mark the compressed file as ReadOnly
during ZIPRPRO operations. This should help to
reduce the chances of accidently deleting the original
compressed file during update mode (inconvenience) or
during selective extraction (potential disaster).
. Added code to mark all signal and temporary files
ReadOnly, to prevent other processes from erasing them.
Also added code to mark files as normal before attempting
to delete them.
. Corrected a problem where the atomic lock files were
not being closed properly after creation.
. Re-worked the token and temporary file creation and
detection routines to use variable names and file
extensions that fit their function.
. Moved the code to generate a random filename prefix
to a separate, common procedure, reducing the
complexity of the routines that require these names.
. Added error message codes to trap the condition if
more than one users attempts to access a compressed
file when Selective Extraction is turned on.
. Fixed a problem where the .TK1 file was being created
on programs that did not need to be decompressed, and
the .TK1 file was not being deleted.
. Moved .TK1 and .TK2 file detection and creation to a
common area of the DecompressZipFile procedure.
. Changed the signal file checking order to accomodate
the new Selective Extraction .SXT file.
. Fixed a problem where the Selective Extraction .SXT
signal file was being created in error. (A non-atomic
file was being created.)
. Added code to limit access to the compressed file if
selective extraction is being used by any user.
. Added error message code to trap the condition if
Selective Extraction is turned on, but no files are
entered for extraction.
. Corrected a problem where the procedure to calculate
the space required to decompress the compressed file
was being executed when the compression type was NONE,
and no compressed file existed.
. Checked out a potential problem with PKUNZIP erroring
out if files specified for extraction did not exist.
It turns out that PKUNZIP simply ignores this type of
error, eliminating the need to deal with it in ZIPRPRO.
. Added code to disable Query mode if using Selective
Extraction. (This is necessary to insure the integrity
of the original compressed file, and to prevent errors
when attempting to decompress files a second time.)
. Corrected problems in the CheckSpaceForDecompression
procedure where an EXIT was being executed before the
selective extraction container file was generated.
. Revised the code in the CalculateExactFileSize routine
to base its calculations on the list of files to be
extracted, if Selective Extraction is enabled.
. Added the more rigid compressed file type checking to
the internal CalculateExactFileSize, DecompressZipFile,
and CheckSpaceForDecompression procedures.
. Eliminated the automatic detection of compressed file
archive types. Now, the type of compressed file must
match the compression type specified in the .ZPD file.
(If users wish to change compression types, they must
use a compression type of "NONE" for one pass. Then,
the file may be re-compressed with the new compressor.)
. Added fail-safe code to the prelog screen procedure
that will show grayed-out check marks if any options
have been disabled by ZIP'R Professional.
. Updated prelog screen to show the status of the new
"Selective Extraction" option.
. Added support for "Selective Extraction" when using
PKZIP/PKUNZIP.
11-15-93 ■ Version 1.00
. Initial release of ZIP'R Professional For DOS.